package com.bobo.mall.product.feign;

import com.bobo.common.to.es.SkuEsModel;
import com.bobo.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

/**
 * Feign调用流程
 * 1、请求构造数据，将对象转为JSON
 *         RequestTemplate template = buildTemplateFromArgs.create(args)
 * 2、发送请求进行执行，（执行成功会解码响应数据）
 *      executeAndDecode(template)
 * 3、执行请求会有重试机制
 *      while（true）{
 *          try{
 *              execueAdnDecode(tempalte);
 *          }catch()}{
 *              retryer,continueOrPropagate(e)
 *          }
 *      }
 */

@FeignClient(value = "mall-search")
public interface SearchFeignService {

    @PostMapping("/search/save/product")
    R productStatusUp(List<SkuEsModel> skuEsModels);
}
